import Http from '../request'

/**
 * 权限相关接口
 */
export default class Auth {

  /**
   * 查询全部
   *
   * @param authQuery 查询条件
   */
  static list(authQuery = {}) {
    return Http.get('/authority', authQuery)
  }

  /**
   * 通过 ID 查询
   *
   * @param id ID
   */
  static find(id) {
    return Http.get(`/authority/${id}`, null)
  }

  /**
   * 查询所有的API和Button权限
   *
   */
  static findApiButtonAuth() {
    return Http.get(`/authority/api&button`, null)
  }

  /**
   * 创建 (新增)
   *
   * @param authorityDTO  authority 信息
   */
  static create(authorityDTO) {
    return Http.postData('/authority', authorityDTO)
  }

  /**
   * 更新
   * 根据传递的参数更新，字段为空则不更新
   *
   * @param authorityDTO  authority 信息
   */
  static update(authorityDTO) {
    return Http.putData(`/authority/${authorityDTO.id}`, authorityDTO)
  }

  /**
   * 通过 ID 删除
   *
   * @param id ID
   */
  static delete(id) {
    return Http.deleteData(`/authority/${id}`, null)
  }
}
